package Test.day16.test;



import day13.exercise.Product;

import java.util.List;

/**
 * @author success
 * @version 1.0
 * @description:本类用来演示:
 * @date 2019/8/2 0002
 */
public interface IProductDao {

    /**
     * 查询所有的产品...
     * 如果没有,则返回null即可
     * @return
     */
    List<Product> findAll();

    /**
     * 读的可能发生的问题:
     *      1 - 该文件不存在 - java.io.FileNotFoundException - 系统文件找不到
     *      2 - 该文件存在,但是文件中没有任何数据 - java.io.EOFException - 到达了文件的末尾了.
     *      3 - 文件存在的,但是文件中的数据不是符合格式的 -  java.io.StreamCorruptedException - invalid stream header: E698AFE6
     *
     *  只要发生了异常,统一返回null - 读取失败.
     *
     * 思路:先读取,再覆盖写入.
     * 保存一个产品对象
     * @param product
     */
    void save(Product product);


    /**
     * 批量保存...
     * @param products
     */
    void saveList(List<Product> products);

    /**
     * 思路 - 读取 - 操作集合 - 覆盖写入
     * 根据产品的名称来进行删除操作
     * @param brand
     */
    void delByrand(String brand);

}
